It's a religious issue. Developers' choice of text editors are as steadfast as their religious beliefs. Noone nor anything can change their loyalties. Longtime users of vi, EMACS and TPU, for example, have paid their dues by learning these legacy editors and are determined to retire using the same editor they learned when first hired.
Today, luckily, users have something developers didn't have years ago: a choice. With more than 100 editors available on one platform or another, users have a potpourri of features and functionality available to them. Take advantage! Why settle for an outdated product when third-party vendors live to please users?
Text editors, at their most basic level, allow the manipulation of text for users to correct, add and delete code in their files. For many editors, this is all they do. But there are also editors that do much more, giving developers a tool that assists them in completing projects in less time than ever imagined. With the features many editors sport today, time can be devoted to more important things then worrying whether an editor is able to complete necessary tasks.
Good, full-screen editors are not too hard to find, but excellent ones must be sought after and evaluated for users' individual needs. One feature that can separate a good editor from an excellent one is windows compliance. An editor integrated with Motif and MS-Windows is a giant step above character-cell editors for end users. The difference in its ease of use is apparent at first glance. File menus, scroll bars, pull-downs, pop-ups and mouse support make clicking on commands and resizing windows a snap compared to typing in commands. Some editors take their GUI interfaces a step further and allow the menu bars, scroll bars, status line, etc., to be customized right from within the editor. With this functionality, users can build the editor to their exact specifications with minimal effort.
While search and replace is a basic feature in most editors (or so it is hoped), options for this function can make a world of difference when editing text. Wildcards, for example, allow the search to include different variations of strings concurrently. It's also a bonus to be able to search and replace across all user buffers in an edit session.
Extensible language support is a must for any medium- to heavy-duty developer. C-like languages, LISP and TPU are just a few of the languages supported by fully programmable editors, allowing developers to customize the editor any way they'd like. With this functionality, developers can create personalized editing interfaces that all users at their sites can be productive with. Some editors don't contain full language support but may have extensible templates. This may be sufficient for some users but not for power developers.
Language sensitivity is the ability of an editor to understand the language of the file being edited. Templates for the more popular ones are included, which can be customized, and a language sensitive editor contains the tools to define a new language if needed. Editors with this support are very high level.
Other functions to look for in above-average editors include support for multiprocessing, color, rectangular box editing, unlimited undo, unlimited file size, split windows and unlimited number of files, buffers and windows.
Editors are posed in various arenas. Some are marketed as migration tools for multiplatform environments, while others are modeled after legacy editors in the hopes of capturing an already devoted audience. Still others are offered as add-ons to larger products. EMACS and vi are examples of editors that aim for the multiplatform audience, being available on virtually all Unix operating systems. Nu/TPU, from a/Soft Development, is an example of both an emulation editor as well as multiplatform. Interfaces editors often emulate include Brief, EVE, EDT, WordStar, vi and EMACS. The DEC FUSE Editor is an example of an add-on editor.
Pricing for text editors of all levels runs from free (vi) to $9,000 (AME's 100-node license), with most prices ranging in the $500 to $1,000 range for one to four users on Unix.
While free is very tempting, remember the adage, "You get what you pay for." Although vi is a free product, it doesn't contain many of the high-level functions other editors today possess. And remember that products like GNU EMACS and vi do not provide technical support, which can lead to a large loss in productivity. Technical support can aid users immensely, from answering simple questions about key mapping to helping developers create customized editing interfaces for their specialized site needs. Without this technical assistance, users are left on their own to guess, wasting time and money.
With all the editors available, the user is left with a lot of research and evaluation. Sit down and assess development needs, outline which features are a must for editing needs, compare prices, investigate support policies and try to get an evaluation copy. Although it will take some time and energy to find the right editor for you, at least you've got a choice.
Debbie Cote is a Technical Writer for a/Soft Development Inc., a third party developer of Silicon Graphics.